function logout() {
	document.location.href = "/SeguridadAction.do?metodo=Salir";
}	

function letra_nif() {
	var cadena="TRWAGMYFPDXBNJZSQVHLCKET";
	var posicion = $('#nif').attr("value") % 23;
	var letra = cadena.substring(posicion , posicion + 1);
	$('#nif').attr("value", $('#nif').attr("value") + letra);
}

function elimina_acentos(cadena) {
	var buscar = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿ";
	var sustituir = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuy";
	for(var x=0; x<buscar.length; x++) {
		cadena = cadena.replace(buscar[x],sustituir[x]);	
	}
	return cadena;
}

function URLEnc(textoAcodificar) {
	var nocodificar = "0123456789"+"ABCDEFGHIJKLMNOPQRSTUVWXYZ"+"abcdefghijklmnopqrstuvwxyz" +"-_.!~*'()";
	var HEX = "0123456789ABCDEF";
	var codificado = "";
	for (var i = 0; i < textoAcodificar.length; i++ ) {
		var ch = textoAcodificar.charAt(i);
	    if (ch == " ")
		    codificado += "+";
		else if (nocodificar.indexOf(ch) != -1)
		    codificado += ch;
		else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255)
				codificado += "+";
			else {
				codificado += "%";
				codificado += HEX.charAt((charCode >> 4) & 0xF);
				codificado += HEX.charAt(charCode & 0xF);
			}
		}
	}
	return codificado;
}

function URLDec(codificado){
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var textoAcodificar = "";
   var i = 0;
   while (i < codificado.length) {
       var ch = codificado.charAt(i);
	   if (ch == "+") {
	       textoAcodificar += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (codificado.length-2) 
					&& HEXCHARS.indexOf(codificado.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(codificado.charAt(i+2)) != -1 ) {
				textoAcodificar += unescape( codificado.substr(i,3) );
				i += 3;
			} else {
				textoAcodificar += "%[ERROR]";
				i++;
			}
		} else {
		   textoAcodificar += ch;
		   i++;
		}
	} 
   return textoAcodificar;
}

function validaCuenta(i_entidad,i_oficina,i_digito,i_cuenta) {
	// VALIDACIÓN DE CUALQUIER LIBRETA DE CUALQUIER ENTIDAD BANCARIA.
	// Funcion recibe como parámetro la entidad, la oficina,
	// el digito (concatenación del de control entidad-oficina y del de control entidad)
	// y la cuenta. Espera los valores con 0's a la izquierda.
	// Devuelve true o false.
	// NOTAS:
	  // Formato deseado de los parámetros:
	// - i_entidad (4)
	// - i_oficina (4)
	// - i_digito (2)
	// - i_cuenta (10)
	var wtotal,wcociente, wresto;
	if (i_entidad.length != 4) return false;
	if (i_oficina.length != 4) return false;
	if (i_digito.length != 2) return false;
	if (i_cuenta.length != 10)return false;
	wtotal = i_entidad.charAt(0) * 4;
	wtotal += i_entidad.charAt(1) * 8;
	wtotal += i_entidad.charAt(2) * 5;
	wtotal += i_entidad.charAt(3) * 10;
	wtotal += i_oficina.charAt(0) * 9;
	wtotal += i_oficina.charAt(1) * 7;
	wtotal += i_oficina.charAt(2) * 3;
	wtotal += i_oficina.charAt(3) * 6;
	// busco el resto de dividir wtotal entre 11
	wcociente = Math.floor(wtotal / 11);
	wresto = wtotal - (wcociente * 11);
	//
	wtotal = 11 - wresto;
	if (wtotal == 11) wtotal=0;
	if (wtotal == 10) wtotal=1;
	if (wtotal != i_digito.charAt(0)) return false;					
	//hemos validado la entidad y oficina
	
	//-----------------------------------
	wtotal = i_cuenta.charAt(0) * 1;
	wtotal += i_cuenta.charAt(1) * 2;
	wtotal += i_cuenta.charAt(2) * 4;
	wtotal += i_cuenta.charAt(3) * 8;
	wtotal += i_cuenta.charAt(4) * 5;
	wtotal += i_cuenta.charAt(5) * 10;
	wtotal += i_cuenta.charAt(6) * 9;
	wtotal += i_cuenta.charAt(7) * 7;
	wtotal += i_cuenta.charAt(8) * 3;
	wtotal += i_cuenta.charAt(9) * 6;
	
	// busco el resto de dividir wtotal entre 11
	wcociente = Math.floor(wtotal / 11);
	wresto = wtotal - (wcociente * 11);
	//
	wtotal = 11 - wresto;
	if (wtotal == 11) wtotal=0;
	if (wtotal == 10) wtotal=1;
	
	if (wtotal != i_digito.charAt(1)) return false;
	  // hemos validado la cuenta corriente
	
	return true;
}
